#!/bin/bash

# Alunos:   Eliezer de Souza da Silva  RA: 124065
#           Fernanda Brandao Silva     RA: 060727
#           Michel Silva Fornaciali    RA: 071884
# IA368R: Eduardo Valle - Trabalho 3, Programa 1 - Descricao de uma imagem

indir=affineSiftDemo
nsize=25%
detector=h_affine.ln    # detector binary
mode_detector=-hesaff   # detector mode
mode_descriptor=sift    # descriptor mode

jpegtopnm $1 > nimg.pgm 2> log      # converte imagem de jpg para pgm
convert nimg.pgm -resize $nsize nimg.pgm    # reduz o tamanho da imagem

# executa binario para deteccao de pontos/regioes
if [ "$detector" == "h_affine.ln" ] || [ "$detector" == "mser.ln" ] ; then 
    $indir/$detector $mode_detector -i nimg.pgm -o out > log
elif [ "$detector" == "ebr.ln" ] || [ "$detector" == "ibr.ln" ]; then
    $indir/$detector nimg.pgm out > log
fi	

# executa binario para obter o descritor dos pontos/regioes
$indir/compute_descriptors.ln -$mode_descriptor -i nimg.pgm -p1 out -o2 out1 > log 
# escreve os metadados e vetores descritores na saida padrao
tail --lines=+3 out1 | cut -d ' ' -f1,2,4,5,13-141

rm log  # remove log of binaries
rm nimg.pgm  # remove converted image image
rm out  # remove detector output file 
rm out1 # remove descriptor output file
